fix(skills): refresh changed sources and normalize downloaded archives - #1084
Merged
yaozheng-fang merged 5 commits intoSep 9, 2026
Merged
Conversation
zakahan
force-pushed
the
feat/skill-catalog-runtime
branch
from
September 9, 2026 01:20
cbaf4c6 to
d539914
Compare
yaozheng-fang
approved these changes
Sep 9, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The existing dynamic-skills callback can miss a Space package-path change when name and description stay unchanged, and can retain an obsolete local source. Refresh the current Agent.skills each turn using per-Toolset baselines, while keeping the skills prompt stable for locator-only changes. Successful empty/removed sources clear their contributions; failed sources retain their previous result by default.
Agent retains the existing enable_dynamic_load_skills option. There are no new callable parameters, runtime binding components, or run_async override. Its loading code delegates to the skills module. Named SkillsToolset methods preserve application-specific result adaptation and tool instrumentation during refresh; full-invocation serialization remains the application's responsibility.
Space/SkillHub ZIPs with root SKILL.md or a wrapping folder both install under skills//. Preserve permissive deterministic fallback with diagnostic logs, stage/validate before replacement, restore the previous install on failure, and remove temporary ZIPs. Local source replacement also updates the session symlink.
Validation: 142 SDK skills + Playground tests passed, with 7 subtests; VEADK pre-commit passed. Coverage includes source/package changes, independent Agents, stable prompts, empty/failing sources, candidate construction failures, sandbox stream cancellation/cleanup, and ZIP layouts/rollback. A downstream Playground image pinned to this commit was also verified through its original entrypoint, real AgentKit/ADK requests with mock model/Space services, both cleanup modes, ZIP installation and retained-filesystem restart (ADK 1.34.0, AgentKit 0.8.1). No general shared-Agent concurrency guarantee is added.